/* 
 * File:   node.h
 * Author: zhouzhao
 *
 * Created on December 21, 2011, 1:26 PM
 */

#ifndef NODE_H
#define	NODE_H

#include <string>
#include <vector>
#include "type.h"
using namespace std;

class Node{
public:
	int modIndex;
    int index;
    int busIndex;
    NType type;
    string name;
    
    GType gate;
    int fanin;
    int fanout;
    
    vector<Node*> upperNodes;
    vector<Node*> downNodes;
    
    int level;
    int offset;
    LType logic;
    LType cudaLogic;

	bool touch;    
    Node(int modIndex, int index, string name, NType type, int busIndex);
};

#endif	/* NODE_H */
